﻿using Mvc2Ng.Web.NgLib.Extensions.Attributes;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace Mvc2Ng.Web.UI.Models {

  [Angular("vm", "projectToEdit")]
  public class EditProject {

    [NgField(CaseNotion.CamelCase)]
    [Display(Name = "Project Name", Description = "The name of the project, will not change name of texts.", Order = 20)]
    [Required(ErrorMessage = "You must provide a name")]
    [StringLength(100, ErrorMessage = "Name should not have more than 100 characters")]
    public string Name { get; set; }

    [NgField(CaseNotion.CamelCase)]
    [Display(Name = "Field or Subject", Order = 40)]
    [StringLength(250, ErrorMessage = "Subject should not have more than 250 characters")]
    [Required(ErrorMessage = "Please provide some keywords")]
    public string Keywords { get; set; }

    [NgField(CaseNotion.CamelCase)]
    [Display(Name= "Verbose description", Description = "A verbose description, tha basic text for publishing.", Order = 25)]
    public string Description { get; set; }

    [Display(Name = "Image")]
    public byte[] Image { get; set; }

    # region Forward to Marketing Package

    [NgField(CaseNotion.CamelCase)]
    [Display(Name = "Base sales price", Description = "The basic sales price you'll get. We'll add production costs if necessary.", Order = 50)]
    public decimal BasePrice { get; set; }

    [NgField(CaseNotion.CamelCase)]
    [Display(Name = "Share with others", Description="Share the content with others. Negotiate a share and increase your revenues.", Order = 60)]
    public bool ShareContent { get; set; }

    # endregion

  }
}